package com.wyl.demo01.config

import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import org.springframework.web.servlet.View
import org.springframework.web.servlet.ViewResolver
import org.springframework.web.servlet.config.annotation.EnableWebMvc
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer
import java.util.*

// 如果你想diy一些定制化的功能, 只要写这个组件, 然后将它交给springboot, boot会帮我们自动装配
// 如果我们要拓展mvc, 官方建议我们这样做
@Configuration
/*
这个注解就是导入一个类 @Import(DelegatingWebMvcConfiguration.class)
从容器中获取所有的WebMvcConfigurer
 */
//@EnableWebMvc
class MyConfig : WebMvcConfigurer {
    @Bean
    fun getMyViewResolver(): ViewResolver = MyViewResolver()

    // 视图跳转
    override fun addViewControllers(registry: ViewControllerRegistry) {
        registry.addViewController("/controller").setViewName("test")
    }
}

// implements ViewResolver接口的类就是视图解析器
// 自定义了一个自己的视图解析器
class MyViewResolver : ViewResolver {
    override fun resolveViewName(viewName: String, locale: Locale): View? {
        return null
    }
}
